#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include "vertice.h"
#include "parser.h"

/*!
    Parseamos la linea de comandos. La funcion la llama bfsNet y es aca
    donde nos encargamos de crear el correspondiente network. Si scanf
    no lee los 3 enteros como deberian paserle entonces se corta la
    lectura y se devuelve el network
*/

network command_in(void){
    int node_from, node_to, cap, i;
    network nw;
    nw = network_create();
    while(true){
        i = scanf("%d %d %d", &node_from, &node_to, &cap);
        if (i > 0){
            network_add(nw, node_from, node_to, cap);
        }
        else{
            break;
        }
    }
    return nw;
}

/*!
    Función que imprime en la pantalla los resultados. La función toma
    un arreglo que contiene el tamaño en la posicion 0 y el flujo en
    la posición 1. Los demas lugares son el correspondiente camino que
    debemos imprimir.
*/

void command_out(int* camino){
    int i = 1;
    int len = 0;
    if (camino == NULL){
        printf("No existe camino :'(\n");
        return;
    }
    printf("flujo: %d\n", camino[1]);
    printf("camino: ");

    len = camino[0];
    for(i=len;i>=2;i--){
        printf("%d ",camino[i]);
    }   
    printf("\n");
}
